package com.hnucm.cooklife.contract.recom;

import com.hnucm.cooklife.base.IBaseView;
import com.hnucm.cooklife.bean.db.Dish;
import com.hnucm.cooklife.bean.me.ToAddCollectData;
//import com.hnucm.cooklife.bean.home.Dish;

import java.util.List;

import io.reactivex.Observable;

public class Contract {
    public interface IRecomModel{
        Observable<List<Dish>> loadDish(int currentPage);
        Observable<List<Dish>> refreshDish(int currenPage);

        Observable<ToAddCollectData> collect(int userId,int dishId);
        Observable<ToAddCollectData> unCollcet(int userId,int dishId);
    }

    public interface IRecomView extends IBaseView{
        void onLoadDish(List<Dish> dishList);
        void onRefreshDish(List<Dish> dishList);

        void onCollect(ToAddCollectData collectData,int dishId);
        void onUnCollect(ToAddCollectData collectData,int dishId);
    }

    public interface IRecomPresenter{
        void loadDish(int currentPage);
        void refreshDish(int currentPage);

        void collect(int userId,int dishId);
        void unCollect(int userId,int dishId);
    }
}
